<%@ page language="java" pageEncoding="utf-8" import="java.util.*" %>
<%@ taglib  prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib  prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%@ taglib  prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib prefix="redis" uri="http://www.shopjsp.com/redisTag/functions" %>
<%@ taglib prefix="shiro" uri="http://shiro.apache.org/tags" %>
<c:set var="srcPath" value="${redis:getSysConfig('sysFileVisitRoot_back')}"/>
<c:set var="basePath" value="${redis:getSysConfig('base_path_back')}"/>
<c:set var="uploadPath" value="${redis:getSysConfig('uploadFileVisitRoot')}"/>
<c:set var="htmlPath" value="${redis:getSysConfig('in_path_html')}"/>
<c:set var="defaultImg" value="${redis:getSysConfig('website_default_img')}"/>
<%--通用的相关文档--%>
<link rel="stylesheet" type="text/css" href="${srcPath}/common/css/demo.css">
<link rel="stylesheet" type="text/css" href="${srcPath}/common/css/table.css">
<%--jquery相关文档--%>
<%--js文档--%>
<script type="text/javascript" src="${srcPath}/3thParty/jquery/js/jquery-2.0.3.min.js"></script>
<script type="text/javascript" src="${srcPath}/3thParty/jquery/js/jquery-migrate-1.2.1.js"></script>
<script type="text/javascript" src="${srcPath}/3thParty/jquery/js/jquery.form.js"></script>
<script type="text/javascript" src="${srcPath}/common/js/validateUtil.js"></script>
<script type="text/javascript" src="${srcPath}/common/js/json2.js"></script>

<%--bootstrap相关文档--%>
<%--css文档--%>
<link rel="stylesheet" media="all" type="text/css" href="${srcPath}/3thParty/bootstrap/css/bootstrap.css"/>
<link rel="stylesheet" media="all" type="text/css" href="${srcPath}/3thParty/bootstrap/css/fileinput.css"/>
<link rel="stylesheet" media="all" type="text/css" href="${srcPath}/3thParty/bootstrap/themes/explorer/theme.css"/>
<link rel="stylesheet" media="all" type="text/css" href="${srcPath}/3thParty/bootstrap_table/basic/css/bootstrap-table.css"/>
<link rel="stylesheet" media="all" type="text/css" href="${srcPath}/3thParty/bootstrap_validate/css/bootstrapValidator.css"/>
<link rel="stylesheet" media="all" type="text/css" href="${srcPath}/3thParty/bootstrap_datetimepicker/css/bootstrap-datetimepicker.min.css"/>
<%--js文档--%>
<%--核心插件--%>
<script type="text/javascript" src="${srcPath}/3thParty/bootstrap/js/plugins/sortable.js"></script>
<script type="text/javascript" src="${srcPath}/3thParty/bootstrap/js/fileinput.js"></script>
<script type="text/javascript" src="${srcPath}/3thParty/bootstrap/js/fileinput_locale_zh.js"></script>
<script type="text/javascript" src="${srcPath}/3thParty/bootstrap/js/locales/fr.js"></script>
<script type="text/javascript" src="${srcPath}/3thParty/bootstrap/js/locales/es.js"></script>
<script type="text/javascript" src="${srcPath}/3thParty/bootstrap/themes/explorer/theme.js"></script>
<script type="text/javascript" src="${srcPath}/3thParty/bootstrap/js/bootstrap.min.js"></script>
<script type="text/javascript" src="${srcPath}/3thParty/bootstrap/js/message_alert.js"></script>
<%--table插件--%>
<script type="text/javascript" src="${srcPath}/3thParty/bootstrap_table/basic/js/bootstrap-table.js"></script>
<script type="text/javascript" src="${srcPath}/3thParty/bootstrap_table/basic/js/bootstrap-table-zh-CN.js"></script>
<%--验证插件--%>
<script type="text/javascript" src="${srcPath}/3thParty/bootstrap_validate/js/bootstrapValidator.js"></script>
<%--时间选择器插件--%>
<script type="text/javascript" src="${srcPath}/3thParty/bootstrap_datetimepicker/js/bootstrap-datetimepicker.min.js"></script>
<script type="text/javascript" src="${srcPath}/3thParty/bootstrap_datetimepicker/js/bootstrap-datetimepicker.zh-CN.js"></script>

<script type="text/javascript">

    var checkableTree=null;

    /**
     * 表单提交及验证初始化
     */
    var form;
    $(document).ready(function() {
        form=$("#form1");
        if(form.length>0){ /**判断当前页面是否有填写表单并检验**/
            validateForm();
            /**Modal验证销毁重构**/
            $('#addOrEditModal').on('hidden.bs.modal', function() {
                reValidateForm();
            });
        }
    });


    /**
     * 重置表单验证
     */
    function reValidateForm(){
        form.data('bootstrapValidator', null);
        validateForm();
    }

    /**
     * 指定字段移除验证
     */
    function removeValidateField(validateField){
        form.bootstrapValidator('enableFieldValidators', validateField, false);
    }

    /**
     * 指定表单字段重新建立验证
     */
    function rebuildValidateField(validateField){
        form.bootstrapValidator('enableFieldValidators', validateField, true);
    }

    /**
     * 指定表单字段重新进行验证
     */
    function reValidateField(validateField){
        form.bootstrapValidator('revalidateField', validateField);
    }

    /**
     * 指定表单字段更新验证状态
     */
    function updateValidateFieldStatus(validateField){
        form.data('bootstrapValidator').updateStatus(validateField, 'NOT_VALIDATED',null).validateField(validateField);
    }


    /**
     * 重置详情页中所有html展示信息
     */
    function resetDetailTable(detailTableId){
        $("#"+detailTableId).find("span").each(function(){
            $(this).empty(); /**将该sapn中的子元素置空**/
        });
    }

    /**
     * 重置添加表单
     */
    function resetAddForm(){
        $("#form1")[0].reset();
    }

    /**
     * 重置查询表单
     */
    function resetQueryForm(){
        $("#qform")[0].reset();
    }

    /**
     * 控制保存按钮不可用，避免重复提交
     */
    $(function(){
        /**表单查询**/
        $("#btn_query").click(function () {
            $("#tt").bootstrapTable('refreshOptions',{pageNumber:1});
            $("#tt").bootstrapTable('refresh');
        });
    });

    /**
     * 因为存在远程校验唯一性第一次ajax异步提交，没有及时获取到验证状态就按照false进行返回
     * 导致两次点击后才可以提交表单，如下方法就是解决此问题的
     */
    function submitFormByRemote() {
        form.data("bootstrapValidator").validate();
        setTimeout(function(){
            var flag2 = form.data("bootstrapValidator").isValid();
            if(flag2){
                submitForm();
            }
        }, 500);
    }

    /**
     * 表单异步提交
     */
    /** fileUploadStateValue  1:没有选中文件上传或没有上传文件功能 2：选中未上传 3：选中文件上传成功**/
    var isValid;
    function submitForm(){
        /** 开启验证**/
        form.data('bootstrapValidator').validate().validate();
        isValid=form.data('bootstrapValidator').isValid();
        if(isValid){  /** 验证通过后提交表单**/
            var options = {
                url: form.attr("action"),
                type : "post",
                dataType:"json",
                success : function(data) {
                    if(data.success==true){
                        /** 先重置查询框的值**/
                        resetQueryForm();
                        /** 重新刷新列表数据**/
                        $("#tt").bootstrapTable('refresh');
                        /** 页面如果有树，添加和修改需要重新初始化树**/
                        if($("#tv").size()>0){
                            initTree();
                        }
                        /** 自动关闭弹出模态框窗口**/
                        $(".close").click();
                        showMsg("保存成功！");
                    }else{
                        showMsg("保存失败！");
                    }
                }
            };

            form.ajaxSubmit(options);
            /** 是否全部上传标记**/
        }else{ /** 验证失败了直接返回 **/
            return false;
        }
    }

    /**
     * bootstrap  fileinput 文件上传  点击“添加”调用
     * uploadIndex：页面文件的顺序位置
     * subSysFolderName：子系统目录
     * imageInfoPath：文件上传的存储目录
     * maxFileCount：最多上传文件数量
     * maxImageWidth：上传图片的最大宽度
     * maxImageHeight：上传图片的最大高度
     *
     * 特别提示：其中 file的input框中的multiple表示可以在文件资源窗口中一次选择多个文件，没有标注表示只能选择一个文件
     */
    function  initImageForAdd(uploadIndex,subSysFolderName,imageInfoPath,maxFileCount,maxImageWidth,maxImageHeight){
        $(".container").css("padding","0px 0px 0px 0px").css("width","auto");
        $(".file-drop-zone").css("height","100px");
        $("#fileWrap"+uploadIndex).empty().html("<input id='file_"+uploadIndex+"'  class='file input-group input-group-sm'  name='imageInfo_"+uploadIndex+"' type='file' >");
        $("#file_"+uploadIndex).fileinput({
            language:'zh',  /**默认中文**/
            dropZoneEnabled:false,  /**是否显示拖拽区域**/
            showUpload: false,  /**是否显示批量上传**/
            uploadAsync:true,  /**默认异步上传**/
            showRemove : false, /**显示移除按钮**/
            showPreview : true, /**是否显示预览**/
            showCaption: true,  /**是否显示标题**/
            browseClass: "btn btn-primary",  /**按钮样式**/
            autoReplace: true, /**自动替换**/
            maxFileCount: maxFileCount,  /**表示允许同时上传的最大文件个数**/
            maxFileSize: 2048,  /**单位为kb，文件大小为2M，如果为0表示不限制文件大小**/
            maxImageWidth: maxImageWidth,  /**图片的最大宽度**/
            maxImageHeight: maxImageHeight,  /**图片的最大高度**/
            enctype: 'multipart/form-data',
            validateInitialCount:true,
            uploadUrl: '${basePath}/back/upload/uploadImageFile.sjson?subSysFolderName='+subSysFolderName+'&imageInfoPath='+imageInfoPath,  /**上传的地址(访问接口地址)image_phoneCategory**/
            allowedFileExtensions: ['jpg', 'png', 'gif'],  /**接收的文件后缀**/
            overwriteInitial: false
        }).on("filebatchselected", function(event, files) { /**已经选择文件未上传回调的事件**/
            /**隐藏整体的上传文件进度条**/
            $(".kv-upload-progress").hide();
            /**隐藏上传文件右上角的 x **/
            $(".fileinput-remove").hide();
            /**自动上传图片**/
            $(this).fileinput("upload");
        }).on("fileuploaded", function(event, data) { /**文件上传成功回调的事件**/
            if(data.response){
                var isSuccess = JSON.parse(data.response.success);
                if(isSuccess){
                    /**从respone中获取resultMsg对象**/
                    var resultMsg = JSON.parse(data.response.data);
                    /**将重新上传的图片回写到隐藏域中**/
                    $("#imageUrl_"+uploadIndex).val(resultMsg.photoUrl).change();
                }else{
                    /**上传失败后，动态添加上传检验并验证失败**/
                    var message = JSON.parse(data.response.msg);
                    showMsg(message);
                }
            }

        }).on('fileimagesloaded', function(event) {
            $("#file_"+uploadIndex).hide();
        }).on("filesuccessremove", function(event, data) { /**移除已上传的文件完成回调的事件**/
            $("#file_"+uploadIndex).show();
            $("#imageUrl_"+uploadIndex).val("").change();
            /**移除上传文件后，动态添加上传检验并验证失败**/
            rebuildValidateField('imageInfo_'+uploadIndex);
            reValidateField('imageInfo_'+uploadIndex);
        }).on("fileremoved", function(event, data) { /**移除已上传的文件完成回调的事件**/
            $("#file_"+uploadIndex).show();
            /**删除原始文件后将隐藏域置空**/
            rebuildValidateField('imageInfo_'+uploadIndex);
            reValidateField('imageInfo_'+uploadIndex);
        });
        reValidateForm();
    }

    /**
     * bootstrap  fileinput 文件上传  点击“修改”调用
     * uploadIndex：页面文件的顺序位置
     * subSysFolderName：子系统目录
     * imageInfoPath：文件上传的存储目录
     * maxFileCount：最多上传文件数量
     * maxImageWidth：上传图片的最大宽度
     * maxImageHeight：上传图片的最大高度
     * visitFileRoot：图片预览的访问根路径
     * fileSaveUrl：图片预览的访问相对路径
     * fileName：文件原始的名称
     *
     * 特别提示：其中 file的input框中的multiple表示可以在文件资源窗口中一次选择多个文件，没有标注表示只能选择一个文件
     */

    function  initImageForUpdate(uploadIndex,subSysFolderName,imageInfoPath,maxFileCount,maxImageWidth,maxImageHeight,visitFileRoot,fileSaveUrl){
        var fileName="";
        if(fileSaveUrl!=undefined&&fileSaveUrl!=""){
            fileName=fileSaveUrl.substring(fileSaveUrl.lastIndexOf("/")+1);
        }else{
            fileName="图片丢失了，请重新上传！";
        }
        $(".container").css("padding","0px 0px 0px 0px").css("width","auto");
        $(".file-drop-zone").css("height","auto");
        $("#fileWrap"+uploadIndex).empty().html("<input id='file_"+uploadIndex+"' value='C://123.jpg' class='file input-group input-group-sm form-control' name='imageInfo_"+uploadIndex+"' type='file'>");
        /**在 ajax中 初始化 fileinput 是配置参数是不起作用的  需要 先销毁，再初始化**/
        $("#file_"+uploadIndex).fileinput('destroy');

        $("#file_"+uploadIndex).fileinput({
            language:'zh',  /**默认中文**/
            uploadAsync:true,  /**默认异步上传**/
            dropZoneEnabled:false,  /**是否显示拖拽区域**/
            showUpload: false,  /**是否显示批量上传**/
            showRemove : false, /**显示移除按钮**/
            showPreview : true, /**是否显示预览**/
            showCaption: true,  /**是否显示标题**/
            browseClass: "btn btn-primary",  /**按钮样式**/
            autoReplace: true,  /**自动替换**/
            maxFileCount: maxFileCount,  /**表示允许同时上传的最大文件个数**/
            maxFileSize: 2048, /**单位为kb，文件大小为2M，如果为0表示不限制文件大小**/
            maxImageWidth: maxImageWidth,  /**图片的最大宽度**/
            maxImageHeight: maxImageHeight,  /**图片的最大高度**/
            enctype: 'multipart/form-data',
            validateInitialCount:true,
            uploadUrl: '${basePath}/back/upload/uploadImageFile.sjson?subSysFolderName='+subSysFolderName+'&imageInfoPath='+imageInfoPath, /**上传的地址(访问接口地址)**/
            allowedFileExtensions: ['jpg', 'png', 'gif'],  /**接收的文件后缀**/
            overwriteInitial: false,
            initialPreviewAsData: true,
            initialPreviewFileType: 'image',
            //initialPreviewShowDelete:true,
            initialPreview: [
                visitFileRoot+"/"+fileSaveUrl
            ],
            initialPreviewConfig:[
                {caption: fileName,width: '0px',url: '${basePath}/back/upload/deleteFile.sjson?fileStoreUrl='+fileSaveUrl,  key: 100,  extra: {id: 100}}
            ]
        }).on("filebatchselected", function(event, files) {  /**已经选择文件未上传回调的事件**/
            /**隐藏整体的上传文件进度条**/
            $(".kv-upload-progress").hide();
            /**隐藏上传文件右上角的 x **/
            $(".fileinput-remove").hide();
            /**自动上传图片**/
            $(this).fileinput("upload");
        }).on("fileuploaded", function(event, data) { /**文件上传成功回调的事件**/
            if(data.response){
                var isSuccess = JSON.parse(data.response.success);
                if(isSuccess){
                    /**从respone中获取resultMsg对象**/
                    var resultMsg = JSON.parse(data.response.data);
                    /**将重新上传的图片回写到隐藏域中**/
                    $("#imageUrl_"+uploadIndex).val(resultMsg.photoUrl).change();
                }else{
                    /**上传失败后，获取失败信息并展示**/
                    var message = JSON.parse(data.response.msg);
                    showMsg(message);
                }
            }
        }).on('fileimagesloaded', function(event) {
            $("#file_"+uploadIndex).hide();
        }).on("filesuccessremove", function(event, data) { /**移除已上传的文件完成回调的事件**/
            $("#file_"+uploadIndex).show();
            $("#imageUrl_"+uploadIndex).val("").change();
            /**移除上传文件后，动态添加上传检验并验证失败**/
            rebuildValidateField('imageInfo_'+uploadIndex);
            reValidateField('imageInfo_'+uploadIndex);
        }).on("fileremoved", function(event, data) { /**移除已上传的文件完成回调的事件**/
            $("#file_"+uploadIndex).show();
            rebuildValidateField('imageInfo_'+uploadIndex);
            reValidateField('imageInfo_'+uploadIndex);
        }).on('filepredelete', function(event, key, jqXHR, data) { /**删除已上传的文件回调的事件**/
            $("#file_"+uploadIndex).show();
            /** 删除原始文件后将隐藏域置空 **/
            $("#imageUrl_"+uploadIndex).val("").change();
            rebuildValidateField('imageInfo_'+uploadIndex);
            reValidateField('imageInfo_'+uploadIndex);
        });
        $("#file_"+uploadIndex).hide();
        reValidateForm();
    }

    /**
     * bootstrap  列表图片预览悬停效果
     * index:图片下标
     * x:图片横向放大比例
     * y:图片纵向放大比例
     * firstTop:列表中第一张图距离顶部的位置
     * lastTop:列表中最后一张图距离顶部的位置
     */
    function showListBigImage(index,x,y,firstTop,lastTop,tableId){
        if(tableId==undefined||tableId=="")tableId="tt";
        var currentPageLastIndex=$("#"+tableId).find("tr").length-2;  /**计算当前页中的总行数**/
        if(firstTop==undefined)firstTop=0;
        if(lastTop==undefined)lastTop=-40;
        if(index%10==0){  /**列表的第一张图片  index%10：表示控制一个jsp中出现了多个列表中都展示图片的话，第二个列表的下标位置开始+10处理，否则会和之前的列表重复**/
            $("#uploadImg_"+index).css("transform","scale("+x+","+y+")").css("z-index","9999").css("position","relative").css("top",firstTop+"px");
        }else if(index==currentPageLastIndex){  /**列表的最后一张图片**/
            $("#uploadImg_"+index).css("transform","scale("+x+","+y+")").css("z-index","9999").css("position","relative").css("top",lastTop+"px");
        }else{  /**列表的第2到最后一张之间的图片**/
            $("#uploadImg_"+index).css("transform","scale("+x+","+y+")").css("z-index","9999");
        }
    }

    /**
     * bootstrap  列表图片预览悬停效果
     * index:图片下标
     * x:图片横向放大比例
     * y:图片纵向放大比例
     */
    function showListRebackImage(index,x,y,tableId){
        if(tableId==undefined||tableId=="")tableId="tt";
        var currentPageLastIndex=$("#"+tableId).find("tr").length-2;  /**计算当前页中的总行数**/
        if(index==0){  /**列表的第一张图片**/
            $("#uploadImg_"+index).css("transform","scale("+x+","+y+")").css("z-index","0").css("position","relative").css("top","0px");
        }else if(index==currentPageLastIndex){  /**列表的最后一张图片**/
            $("#uploadImg_"+index).css("transform","scale("+x+","+y+")").css("z-index","0").css("position","relative").css("top","0px");
        }else{  /**列表的第1-8图片**/
            $("#uploadImg_"+index).css("transform","scale("+x+","+y+")").css("z-index","0");
        }
    }

    /**
     * bootstrap  详情图片预览悬停效果
     * index:图片下标
     * x:图片横向放大比例
     * y:图片纵向放大比例
     * detailTop:详情页面图片距离顶部的位置
     */
    function showDetailBigImage(index,x,y,detailTop){
        if(detailTop==undefined)detailTop=0;
        $("#uploadImg_detail_"+index).css("transform","scale("+x+","+y+")").css("z-index","9999").css("position","relative").css("top",detailTop+"px");
    }

    /**
     * bootstrap  详情图片预览悬停效果
     * index:图片下标
     * x:图片横向放大比例
     * y:图片纵向放大比例
     */
    function showDetailRebackImage(index,x,y){
        $("#uploadImg_detail_"+index).css("transform","scale("+x+","+y+")").css("z-index","0").css("top","0px");
    }

    /**
     * bootstrap treeview  初始化渲染加载树形结构
     * data：json节点信息
     */
    function initTree(getJsonDataUrl,idName,operateType){
        $.ajax({
            type:"post",
            url:getJsonDataUrl,
            success:function(data){
                checkableTree = $('#tv').treeview({
                    data: data,
                    showIcon: true,
                    showCheckbox: false,
                    showTags:true,
                    bootstrap2: false,
                    levels:5
                });

                /**节点行选中**/
                checkableTree.on('nodeSelected', function(event, node) {
                    if(operateType=="manager"){
                        $("#q_"+idName).val(node['categoryId']); /**将当前的分类id放到隐藏域中**/
                        resetQueryForm(); /**清空重置查询框**/
                        $("#tt").bootstrapTable('refreshOptions',{pageNumber:1});
                        $("#tt").bootstrapTable('refresh');
                    }else if(operateType=="navigate"){
                        var isLeaf=node.isLeaf;
                        if(isLeaf=="1"){ /**通过叶子节点查找关联的数据**/
                            $("#q_"+idName).val(node['categoryId']); /**将当前的分类id放到隐藏域中**/
                            resetQueryForm(); /**清空重置查询框**/
                            $("#tt").bootstrapTable('refreshOptions',{pageNumber:1});
                            $("#tt").bootstrapTable('refresh');
                        }
                    }
                });

                /**节点点击展开**/
                checkableTree.on('nodeExpanded ', function(event, node) {
                    var parentObj= $('#tv').treeview('getParent', node);
                    var nodeArray=$('#tv').treeview('getExpanded',node['categoryId']);
                    for(var i=0;i<nodeArray.length;i++){
                        var expandedNode=nodeArray[i];
                        /**三个条件：根节点不闭合，父节点不闭合，本节点不闭合**/
                        if(expandedNode.categoryId!=0 && expandedNode.categoryId!=parentObj.categoryId&&expandedNode.categoryId!=node.categoryId){
                            $('#tv').treeview('collapseNode',[ expandedNode, { silent: true,ignoreChildren: false }]);
                        }
                    }
                });

                checkableTree.treeview('expandNode', [ 0, { levels: 1, silent: true } ]);/** 默认展开所有一级：0是根id，levels当前为一级**/
            }
        });

    }


    /**
     * 对Date的扩展，将 Date 转化为指定格式的String
     * 月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符，
     * 年(y)可以用 1-4 个占位符，毫秒(S)只能用 1 个占位符(是 1-3 位的数字)
     * 例子：
     * new Date().Format("yyyy-MM-dd hh:mm:ss") ==> 2006-07-02 08:09:04.423
     * new Date().Format("yyyy-M-d h:m:s.S")      ==> 2006-7-2 8:9:4.18
     */
    Date.prototype.Format = function (fmt) {
        var o = {
            "M+": this.getMonth() + 1, //月份
            "d+": this.getDate(), //日
            "h+": this.getHours(), //小时
            "m+": this.getMinutes(), //分
            "s+": this.getSeconds(), //秒
            "q+": Math.floor((this.getMonth() + 3) / 3), //季度
            "S": this.getMilliseconds() //毫秒
        };
        if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
        for (var k in o)
            if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
        return fmt;
    };

    /**
     *  获取当前时间
     */
    function getCurrentTime(){
        var now = new Date();
        var year = now.getFullYear();       /**年**/
        var month = now.getMonth() + 1;     /**月**/
        var day = now.getDate();            /**日**/
        var hour = now.getHours();          /**时**/
        var minutes = now.getMinutes();     /**分**/
        var seconds = now.getSeconds();     /**秒**/
        var clock = year + "-";

        if(month < 10)
            clock += "0";
        clock += month + "-";
        if(day < 10)
            clock += "0";
        clock += day + " ";
        if(hour < 10)
            clock += "0";
        clock += hour + ":";
        if(minutes < 10)
            clock += "0";
        clock += minutes + ":";
        if(seconds < 10)
            clock += "0";
        clock += seconds + " ";
        return clock;
    }

    /**
     * 将msyql数据库中查询的时间格式化
     * jsondate 是一个obj类型的对象
     * fmt 是需要转换的格式 例如：yyyy-MM-dd hh:mm:ss
     */
    function toJsonDate(jsondate,fmt) {
        if(jsondate!=null && jsondate!=""){
            jsondate = jsondate.time;
            return new Date(parseInt(jsondate, 10)).Format(fmt);
        }else{
            return "";
        }
    }
</script>

<%--提示弹出框html脚本--%>
<div id="com-alert" class="modal" style="z-index:9999;display: none; margin-top:20px;" >
    <div class="modal-dialog modal-sm">
        <div class="modal-content">
            <div class="modal-header"><button type="button" class="close" data-dismiss="modal"><span style="font-size:20px;" aria-hidden="true">×</span><span class="sr-only">Close</span></button><h5 class="modal-title"><i class="fa fa-exclamation-circle"></i> [Title]</h5></div>
            <div class="modal-body small"><p style="word-wrap:break-word;">[Message]</p></div>
            <div class="modal-footer" ><button type="button" class="btn btn-primary ok" data-dismiss="modal">[BtnOk]</button><button type="button" class="btn btn-default cancel" data-dismiss="modal">[BtnCancel]</button></div>
        </div>
    </div>
</div>